Implement, patch from Paul Davis.
authorRichard Hult <richard@imendio.com>
Mon, 8 Oct 2007 17:50:26 +0000 (17:50 +0000)
committerRichard Hult <rhult@src.gnome.org>
Mon, 8 Oct 2007 17:50:26 +0000 (17:50 +0000)
2007-10-08  Richard Hult  <richard@imendio.com>

* gdk/quartz/gdkwindow-quartz.c: (gdk_window_focus): Implement,
patch from Paul Davis.

svn path=/trunk/; revision=18897

ChangeLog
gdk/quartz/gdkwindow-quartz.c

index c2a21c3c366ca44d79ff0b2e51edfc953b9cec1d..4ca7105c880d703e1466e49406ad18f38fa96345 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-08  Richard Hult  <richard@imendio.com>
+
+       * gdk/quartz/gdkwindow-quartz.c: (gdk_window_focus): Implement,
+       patch from Paul Davis.
+
 2007-10-08  Richard Hult  <richard@imendio.com>
 
        * gdk/quartz/gdkwindow-quartz.c: (move_resize_window_internal):
index fa7a752dbcb495902cc0c6cb4244171ff19f5fd2..cfb831b27f16b719f7f2cd0efff725d2fdde82f9 100644 (file)
@@ -2039,9 +2039,23 @@ void
 gdk_window_focus (GdkWindow *window,
                   guint32    timestamp)
 {
+  GdkWindowObject *private;
+  GdkWindowImplQuartz *impl;
+       
   g_return_if_fail (GDK_IS_WINDOW (window));
 
-  /* FIXME: Implement */
+  private = (GdkWindowObject*) window;
+  impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
+
+  if (impl->toplevel)
+    {
+      if (private->accept_focus && private->window_type != GDK_WINDOW_TEMP) 
+        {
+          GDK_QUARTZ_ALLOC_POOL;
+          [impl->toplevel makeKeyWindow];
+          GDK_QUARTZ_RELEASE_POOL;
+        }
+    }
 }
 
 void